1. Field of the Invention
The present invention generally relates to a user interface. More particularly, the present invention relates to a goal-based graphical user interface for managing business solutions.
2. Description of the Related Art
Current computer systems generally provide complicated environments for managing business solutions. A computer system may contain several separate computers, and each computer may contain many hardware and software components necessary for proper operation of the system. Each of these software and hardware components may perform a specific task. For instance, a computer may contain hardware components for storing and retrieving data, for accessing a network, and for creating a backup of system information, as well as numerous other hardware components. A computer may also contain software components for serving web pages, for monitoring the status of hardware components, for managing user permissions, and for managing a database, as well as numerous other software components. Thus, a computer system may contain an overwhelming number of hardware and software components performing an overwhelming number of tasks.
Each task being performed by a computer system may also be interrelated with other tasks being performed by the computer system. For instance, a web server software component used for serving web pages may retrieve information from a database manager software component. The database software component may access information stored on a storage drive hardware component. The web server software component may send the information provided by the database manager software component across a network using a network device hardware component. Thus, complicated relations may exist between each task on a computer system and each of the other tasks on that system.
The user of a computer system may not understand each task being performed by a computer system. Also, the user of a computer system may not understand how each task on a computer system is related to each other task on a computer system. Thus, if one component on the system fails, the user may not understand how to fix the component so that the component works. Also, if the component failure is caused by another system component's failure, the user may not understand the relationship between the components which causes both components to fail.
While the user may not understand each task being performed by a computer system, the user may have goals which the user would like the computer system to achieve. For instance, the user may want to use the computer system to install and run a business solution, such as an Internet business which serves web pages and takes customer orders. However, the user may not understand each task required for the computer system to run a given business solution. For instance, if a user wants to run an Internet business, the user may not understand that the computer system may need a network device to perform network communication tasks, a server to perform web page service tasks, and a database manager to perform information storage and retrieval tasks.
Current computer systems may try to alleviate user confusion regarding computer system components and the tasks they perform by providing graphical user interfaces (GUIs) for installing and managing the components on the computer system. Unfortunately, GUIs for installing and managing the components on the computer system typically provide the user with a deluge of information. GUIs for installing components typically list each component and each task which may be installed on the computer system. GUIs for managing components may list every component and every task being performed on a system. The listing of a large number of components and tasks in the GUIs may confuse a user who needs to install and manage only a few components to achieve the user's goal.
Within the GUIs, the components and tasks may be organized by topic, by product, in alphabetical order, or in some other manner. However, the components and tasks are not organized in a manner which shows the relationship of the various tasks for achieving a particular goal. Also, the organization of the components and tasks may be either unfamiliar to the user or unsuited to the user's specific goals. Thus, the user may have to search a large listing of components and tasks in the GUIs to find the specific components and tasks related to the user's goals. Furthermore, because the user may not understand the interrelation between each of the components and tasks on a system, the user may install and manage certain components and tasks without being aware of other related components and tasks which should also be installed and managed. For instance, while installing components and tasks on the computer system, the user may successfully use the GUI to install a network device and a server, but may fail to realize that a database manager also needs to be installed. Even if the user is sophisticated enough to understand each related component and task which needs to be installed, the user may still have to sift through the entire listing of components and tasks provided by the GUI to find the necessary components and tasks for installation.
While managing the computer system, the user may only wish to monitor the status of components and tasks related to the user's goal. However, the GUI for managing components and tasks may list the status of many unrelated components and tasks. For a user who does not understand the components and tasks related to the user's goal, the list may be overwhelming. Also, for the user who does not understand the interrelation between each of the components and tasks, the user may check the status of one component or task without being aware of the status of each of the related components and tasks that the user should be aware of. Again, even if the user is sophisticated enough to understand each related component and task which needs to be monitored, the user may still have to sift through the entire listing of components and tasks provided by the GUI to find the components and tasks to be monitored.
Thus, the user typically has difficulty understanding which components and tasks are related to the user's goals. If the user is able to actually understand which components and tasks are required, the user may still have difficulty finding the required components and tasks within the GUI. Ultimately, the user only really cares about accomplishing a goal using the computer system. Thus, the user would prefer that that the GUIs for installing and managing components and tasks list only the components and tasks related to the user's goal. The user would also like the ability to specify to the GUI what the user's goal is. Unfortunately, current GUIs do not provide this functionality. Accordingly, what is needed are GUIs for installing and managing components and tasks which list only the components and tasks related to the user's goal.